ffmpeg用alpha通道透明度代替黑色片段 |
您所在的位置:网站首页 › ffmpeg alpha通道 › ffmpeg用alpha通道透明度代替黑色片段 |
问题描述
我有file.mov视频.它具有许多空白的黑色片段,这些片段的持续时间不同. 我需要替换出透明度超过5秒的黑色片段.是否可以为此添加一些alpha频道? 对穆尔维亚的答案评论: 惊人的解决方案.在#2部分,一切正常. 使用#1节我创建了此代码: output=$(ffprobe -f lavfi -i "movie=file.mov,blackdetect=d=3.5" -show_entries tags=lavfi.black_start,lavfi.black_end -of compact=p=0 -v 0|awk '!/^$/') echo $output使用awk '!/^$/'删除空线. 这是我得到的输出: #1 运行BlackDetect以识别片段 ffprobe -f lavfi -i "movie=file.mov,blackdetect=d=3.5" -show_entries tags=lavfi.black_start,lavfi.black_end -of compact=p=0 -v 0编辑:由于过滤器中的怪癖,必须使用ffmpeg获取此数据 下面的命令将数据保存到文本文件中. ffmpeg -f lavfi -i movie=file.mov,blackdetect=d=3.5,metadata=print:file=- -f null - -hide_banner -v 0 | grep lavfi > times.txt这将打印一组持久的黑色段的时间代码至少3.5秒. #2 添加alpha并将片段的alpha更改为0 ffmpeg -i file.mov -vf format=rgba,colorchannelmixer=aa=0:enable='between(t,12.4,16.1)+between(t,55.1,60.0)+between(t,62.9,69.2)' -c:v libvpx-vp9 -crf 10 -b:v 0 out.mkv在表达式之间的每个表达式中都是黑色片段的开始时间和结束时间. 如果要将结果保存为文件,则需要选择支持Alpha的编解码器,例如上述命令中的一个.如果您的文件已经具有alpha,请跳过格式过滤器. 本文地址:https://www.itbaoku.cn/post/2433643.html |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |